home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Visual Cafe Pro v1.0 / VISCAFE.BIN / RadioButton.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-06-19  |  4.1 KB  |  143 lines

  1. package symantec.itools.db.awt;
  2.  
  3. import java.awt.Checkbox;
  4. import java.awt.CheckboxGroup;
  5. import java.awt.Component;
  6. import java.awt.Event;
  7. import java.io.IOException;
  8. import symantec.itools.db.pro.ProjBinder;
  9. import symantec.itools.db.pro.ProjLink;
  10. import symantec.itools.db.pro.RelationView;
  11. import symjava.sql.SQLException;
  12.  
  13. public class RadioButton extends Checkbox implements ProjLink {
  14.    private ProjBinder m_ProjBinder;
  15.    private String m_Data;
  16.    private String m_Input;
  17.    private int m_treatBlankAs;
  18.    private boolean m_DynamicUpdate = false;
  19.    private boolean m_ignoreStateChange = true;
  20.  
  21.    public RadioButton() {
  22.       super.setLabel("<dbAWARE RadioButton>");
  23.    }
  24.  
  25.    public RadioButton(String var1, RadioBox var2, boolean var3) {
  26.       super(var1, var2, var3);
  27.       this.setBinding(var2.getRelView(), var2.getProjection());
  28.    }
  29.  
  30.    public void setTreatBlankAs(String var1) {
  31.       if ((new String(var1)).toUpperCase().equals("DEFAULT")) {
  32.          this.m_treatBlankAs = 0;
  33.       } else if ((new String(var1)).toUpperCase().equals("NULL")) {
  34.          this.m_treatBlankAs = 1;
  35.       } else {
  36.          if ((new String(var1)).toUpperCase().equals("BLANK")) {
  37.             this.m_treatBlankAs = 2;
  38.          }
  39.  
  40.       }
  41.    }
  42.  
  43.    public void setBinding(RelationView var1, String var2) {
  44.       try {
  45.          int var3 = var1.findProjByName(var2);
  46.          var1.bindProj(var3, this);
  47.       } catch (SQLException var4) {
  48.          this.raiseException("SQLException from RadioButton.setBinding: " + ((Throwable)var4).getMessage());
  49.       }
  50.    }
  51.  
  52.    public void init(ProjBinder var1) {
  53.       this.m_ProjBinder = var1;
  54.       this.setEditable(this.m_ProjBinder);
  55.    }
  56.  
  57.    public void notifyDataChange(ProjBinder var1) {
  58.       this.m_ignoreStateChange = true;
  59.       if (var1 != null) {
  60.          this.m_ProjBinder = var1;
  61.       }
  62.  
  63.       String var2 = new String(((Checkbox)this).getLabel());
  64.       new String();
  65.  
  66.       try {
  67.          if (var1.isReadable() && !var1.isNull()) {
  68.             String var3 = var1.getStringValue();
  69.             if (var2.compareTo(var3) == 0) {
  70.                ((Checkbox)this).setState(true);
  71.             }
  72.          }
  73.       } catch (SQLException var5) {
  74.          this.raiseException("SQLException from RadioButton.notifyDataChange: " + ((Throwable)var5).getMessage());
  75.       } catch (IOException var6) {
  76.          this.raiseException("IOException from RadioButton.notifyDataChange: " + ((Throwable)var6).getMessage());
  77.       }
  78.  
  79.       this.setEditable(this.m_ProjBinder);
  80.    }
  81.  
  82.    public boolean lostFocus(Event var1, Object var2) {
  83.       this.notifyStateChange();
  84.       return super.lostFocus(var1, var2);
  85.    }
  86.  
  87.    public boolean notifySetData(ProjBinder var1) {
  88.       return this.notifyStateChange();
  89.    }
  90.  
  91.    boolean notifyStateChange() {
  92.       if (!this.m_ignoreStateChange) {
  93.          CheckboxGroup var1 = ((Checkbox)this).getCheckboxGroup();
  94.          if (var1.getCurrent() == this) {
  95.             try {
  96.                if (this.m_ProjBinder != null && this.m_ProjBinder.isWritable()) {
  97.                   this.m_ProjBinder.setValueFromString(((Checkbox)this).getLabel(), 0, this.m_treatBlankAs);
  98.                }
  99.             } catch (SQLException var3) {
  100.                System.out.println("SQLException from TextField.notifyInputChange.setString: " + ((Throwable)var3).getMessage());
  101.                return false;
  102.             } catch (IOException var4) {
  103.                System.out.println("IOException from TextField.notifyInputChange.setString: " + ((Throwable)var4).getMessage());
  104.                return false;
  105.             }
  106.          }
  107.       }
  108.  
  109.       return true;
  110.    }
  111.  
  112.    public boolean handleEvent(Event var1) {
  113.       this.m_ignoreStateChange = false;
  114.       this.notifyStateChange();
  115.       return super.handleEvent(var1);
  116.    }
  117.  
  118.    void setEditable(ProjBinder var1) {
  119.       ((Component)this).disable();
  120.  
  121.       try {
  122.          if (var1 != null) {
  123.             RelationView var2 = var1.getRelationView();
  124.             if (var2 != null && var2.getCurrentRecordState() != 105) {
  125.                ((Component)this).enable();
  126.                return;
  127.             }
  128.          }
  129.       } catch (SQLException var3) {
  130.          System.out.println(((Throwable)var3).getMessage());
  131.       }
  132.  
  133.    }
  134.  
  135.    void raiseException(String var1) {
  136.       System.out.println(var1);
  137.    }
  138.  
  139.    public void setDynamicUpdate(boolean var1) {
  140.       this.m_DynamicUpdate = var1;
  141.    }
  142. }
  143.